28 Nov 2025

feedJavaScript Weekly

Algorithms visualized and demonstrated in JavaScript

#​763 - November 28, 2025

Read on the Web

JavaScript Weekly

Over 150 Algorithms and Data Structures Demonstrated in JS - Examples of many common algorithms (e.g. bit manipulation, Pascal's triangle, Hamming distance) and data structures (e.g. linked lists, tries, graphs) with explanations. Available in eighteen other written languages too.

Oleksii Trekhleb et al.

TypeScript: From First Steps to Professional - Learn TypeScript step-by-step with Anjana Vakil, and gain confidence writing code you can trust! Add strong types, reuse interfaces, and apply type safety throughout your app with hands-on projects converting JavaScript to TypeScript.

Frontend Masters sponsor

⚠️ The Shai-Hulud 2.0 npm Worm: Analysis, and What You Need to Know - The next generation of a 'worm' we've previously encountered is back infecting more packages, exfiltrating developers' credentials, then republishing yet more packages to spread further. This is a good writeup of how it works.

Tafani-Dereeper and Obregoso (Datadog)

IN BRIEF:

RELEASES:

πŸ“– Articles and Videos

The Performance Inequality Gap in 2026 - Esteemed browser and Web standards expert Alex Russell looks at the state of client-side Web performance, what sort of bandwidth you should be taking into account, what devices people are using, and warns against ever-growing JavaScript bundle sizes. A lot of data here.

Alex Russell

Why Use React? (On the Frontend) - Jeremy asks some big, potentially uncomfortable questions, but notes how React's modern server-side powers are a real boon, while questioning React's role on the frontend, where Preact might well suit you better.

Jeremy Keith

Breakpoints and console.log Is the Past, Time Travel Is the Future - 15x faster JavaScript debugging than with breakpoints and console.log, supports Vitest, Jest, Karma, Jasmine, and more.

Wallaby Team sponsor

β–Ά What are 'Invokers': Interactivity without JavaScript? - The Invoker Commands API lets you assign behaviors to buttons. You can use JavaScript to create custom commands, however.

Scott Tolinski

How Vercel Built Its First Mobile App with React Native - Vercel has built an iOS app for its v0 AI-powered app development tool using React Native and Expo. This is a detailed look at how they tackled certain issues to make the UX smooth and responsive.

Fernando Rojo (Vercel)

Wrangling My Email with Claude Code - James shows how you can use Claude's 'agent skills' to run a JavaScript app that fetches your email from Gmail for Claude Code to analyze.

James Long

πŸ“„ How a Summer in Abruzzo Helped Bring Type Stripping to Node.js - It's neat to get some background to the story. Marco Ippolito

πŸ“„ Taking Down Next.js Servers for 0.0001 Cents a Pop - A vulnerability that has been fixed, if you're on Next.js 15.5.5 or 16+. Alex Browne

πŸ“„ Tinyglobby: A Success Story in Modernization and Performance Madeline GurriarΓ‘n

πŸ“„ Managing Side Effects: A JavaScript Effect System in 30 Lines or Fewer Aycan Gulez

πŸ“„ How to Build Cinematic 3D Scroll Experiences with GSAP and Three.js Joseph Santamaria

πŸ“„ Migrating 6000 React Tests Using AI Agents and ASTs Elio Capella SΓ‘nchez

πŸ›  Code & Tools

FullCalendar: A Full Sized JavaScript Calendar Control - Get a Google Calendar-style experience in your own apps. Has connectors for React, Vue and Angular, but can be used with plain JavaScript too. The base version is MIT licensed, but there's a commercial version too with extra features.

Adam Shaw

Better Auth: A Comprehensive Authentication Framework for TypeScript - A framework agnostic authentication and authorization framework that provides email and password-based auth, OAuth and social sign-in, account and session management, 2FA, and more. v1.4 was just released with stateless/database-free session management support.

Better Auth

Tiger Data Taught AI to Write Real Postgres Code. Try it Today - pg-aiguide brings real DB expertise to Claude Code, or any other MCP-enabled tool.

Tiger Data sponsor

Heat.js 4.5: A Heat Map Visualization Library - Think the GitHub contributions heat map. No dependencies, small, responsive, and theme-able. There's a live demo or its GitHub repo.

William Troup

Ant Design 6.0: The React UI Design Language and UI Library - One of the bigger, more 'corporate' looking React component suites. v6 provides a smooth migration for v5 users and is focused on optimizations and React 19 compatibility.

Ant Design Team

πŸ“° Classifieds

πŸ¦ƒ This Thanksgiving, skip writing tests. Meticulous observes your app and auto-builds continuously evolving E2E UI tests while you feast. Book a call now.

🏎️ Depot's new GitHub Actions Analytics: see job durations, failure rates, CPU/memory usage, and performance trends across all your repos at a glance.

🎨 Try Pintura image editor for free today, add a polished cropping, rotating, and annotation experience to your web app in minutes.

TSDiagram: Diagrams as Code with TypeScript - Draft diagrams quickly with TypeScript. Define your data models through top-level type aliases and interfaces and it automatically lays out the nodes in an efficient way. GitHub repo.

Andrei Neculaesei

πŸ“’ Elsewhere in the ecosystem

Some other interesting tidbits in the broader landscape:

28 Nov 2025 12:00am GMT

21 Nov 2025

feedJavaScript Weekly

A significant Angular release

#​762 - November 21, 2025

Read on the Web

JavaScript Weekly

Google Announces Angular v21 - The Google team has gone all out with this significant release of its popular JavaScript framework. They've put together a retro game-themed adventure-based tour of what's new, along with top notch videos showing off features like its new signal-based approach to forms, MCP server for AI-powered workflows, library of headless components focused on accessibility, and even a new 'Angular AI Tutor' to get up to speed.

Google

Authentication. Complete, Not Complex -

const fusionAuth = {
builtFor: "developers",
documentedFor: "humans",
supportedBy: "experts"
};

FusionAuth sponsor

IN BRIEF:

RELEASES:

πŸ“– Articles and Videos

Photo used with the kind permission of Rob Palmer

This week's TC39 meeting: The Ecma TC39 committee (the group behind the design of ECMAScript / JavaScript) met up for the 111th time this week (seen above) to discuss language proposals. The meeting notes won't be published for a few weeks, but several proposals did see some progress:

Note: Learn more about what the TC39 stages mean here.

Tooltip Components Should Not Exist - Dominik challenges some common wisdom in his typically erudite fashion. Stand-alone tooltip components are the wrong abstraction when separated from the underlying UI features that use them. This thinking can apply to many other UI affordances too, so the broad idea is well worth considering.

Dominik Dorfmeister (AKA TkDodo)

Agentic Postgres: Let Your Agents Cook - Build AI apps faster: Postgres with built-in memory, search, and free forkable DBs. Try it free on Tiger.

Tiger Data sponsor

Implementing Wordle in LibreOffice with JavaScript Macros - One of those fun things where the real value is in learning that you can script LibreOffice with JavaScript.

Bojidar Marinov

Automated NPM Secret Rotation in GitHub Actions - If you've built a system to automatically publish to npm, you may have had to change things due to this month's npm security changes. Here's a way to keep things ticking if you're not ready to switch to trusted publishing.

Michael Heap

Six Things I Bet You Didn't Know You Could Do With Chrome's DevTools - Part one here covers the first three, with part two covering the last three. Covers time functions, DOM observation, user action replays, and more.

Rachel Kaufman

πŸ“„ An Experiment in Making TypeScript Immutable-by-Default - "I wondered: is it possible to make TypeScript values immutable by default?" Evan Hahn

πŸ“„ How to Build Cinematic 3D Scroll Experiences with GSAP Joseph Santamaria

πŸ“„ How We Migrated 76,000 Tests from Enzyme to React Testing Library - HubSpot's tale of a big React testing migration. Charley Pugmire (HubSpot)

πŸ“„ How to 'Officially' Deprecate Methods in Node.js Code - Did you know of Node's deprecate method? Stefan Judis

πŸ›  Code & Tools

Webpack Bundle Analyzer 5.0: A Visual Look at Webpack's Output - An official Webpack plugin and CLI tool that shows bundle content in the form of an interactive zoomable treemap so you can dig in and see what's taking up space in your bundle (and then optimize it, ideally).

Webpack Project

TanStack DB 0.5, Now with Query-Driven Sync - TanStackβ€―DB is a client‑first reactive data store that uses differential dataflow to power live, relational queries, sub‑ms incremental updates, and seamless optimistic writes. In v0.5, a component's query becomes the API call too. "Just write your query and TanStack DB figures out exactly what to fetch."

Willis, De Parre, and Matthews

Still Writing Tests Manually? - See why modern engineering teams like Dropbox, Notion and Lattice rely on Meticulous to run E2E UI tests.

Meticulous AI sponsor

Brimstone: A New JavaScript Engine Written in Rust - Joining the hundreds of JS engines available, Brimstone has strong language support (97% of the spec), is very small, but remains a work in progress.

Hans Halverson

VueFinder: File Management Component for Vue 3 - Provides a reactive, native-like file explorer interface for users to organize, preview, and manage files.

Yusuf Γ–zdemir

is-online 12.0: Check if the Internet Connection Is Up - Works in both Node and the browser and uses various approaches to check if the Internet is really available.

Sindre Sorhus

πŸ“° Classifieds

Build Docker images faster with BuildKit and Depot. Parallel execution, deduplication, and auto-scaling cut CI wait times.

🎨 Try Pintura image editor for free today, add a polished cropping, rotating, and annotation experience to your web app in minutes.

The Road to Next is a course by Robin Wieruch for learning full-stack web development with Next.js 15 and React 19. The perfect match for JavaScript developers ready to go beyond the frontend.

πŸ“’ Elsewhere in the ecosystem

Some other interesting tidbits in the broader landscape:

21 Nov 2025 12:00am GMT

14 Nov 2025

feedJavaScript Weekly

Every JavaScript engine all at once

#​761 - November 14, 2025

Read on the Web

JavaScript Weekly

JavaScript Engines Zoo: Learn About Over 100 JS Engines - I'm a sucker for a big table of data and this is about as big as it gets when it comes to JavaScript engines. See how various engines compare, sort them by performance, or click on an engine's name to learn more about its development, history, and end users. The project's repo also has Dockerfiles for trying each of them out.

Ivan Krasilnikov

πŸ’‘ Sticking with a theme, I've always enjoyed this ECMAScript compatibility table where you can see cross-browser and runtime support for different JavaScript features.

FlexGrid by Wijmo: The Industry-Leading JavaScript Datagrid - A fast and flexible datagrid for building modern web apps. Key features and virtualized rendering are included in the core grid module. Pick & choose special features to keep your app small. Built for JavaScript, extended to Angular, React, and Vue.

Wijmo From MESCIUS sponsor

Valdi: Snap's Newly-Open Cross-Platform UI Framework - The team behind Snapchat has open sourced this cross-platform UI framework that it's used in its production apps for eight years: "Write your UI once in declarative TypeScript, and it compiles directly to native views on iOS, Android, and macOS-no web views, no JavaScript bridges."

Snap

πŸ’‘ Valdi's FAQ answers several questions you might have, including how it works and why you might pick Valdi over React Native.

IN BRIEF:

RELEASES:

πŸ“– Articles and Videos

β–Ά The State of Node.js in 2025, Explained - A thirty-minute talk from JSNation earlier this year where TSC member Matteo Collina presented an update on Node's still-growing popularity, release schedule, security, recent performance enhancements, the permissions system, and more.

GitNation

V8's Garbage Collector Developments in Recent Years - Andy, who's worked on both V8 and JavaScriptCore in the past, reviews the major developments in the V8 engine's garbage collector over the past couple of years. Very technical, but a valuable piece of history.

Andy Wingo

Build Type-Safe APIs for Your JS Apps: Protobuf Workshop with Buf Team - Learn how Protobuf brings type safety across your stack from Node.js APIs to frontend clients. Live Q&A with Buf engineers.

Buf sponsor

Comparing Electron vs. Tauri for Building and Distributing a Desktop App - A team working on an open-source desktop app built using JavaScript and Electron took a look into the Rust-based Tauri instead, with mixed, but mostly positive, results.

Eric Richardson

Using Expo for React Native Development in 2025: A Perspective - Expo has essentially become to React Native what Next.js became to React. But is it well suited for you? Jack weighs the pros and cons.

Jack Rosa

πŸ“„ How We Catch UI Bugs Early with Visual Regression Testing - Using Playwright and its visual comparisons feature. Tommaso Ruscica

πŸ“Ί Learn JavaScript by Building 'Mario' - One of Ania's typically easy to follow, comprehensive tutorials. Ania Kubow

πŸ“„ Building a 3D Infinite Carousel with Reactive Background Gradients ClΓ©ment Grellier

πŸ“„ Error Chaining in JS: Cleaner Debugging with Error's cause Matt Smith

πŸ›  Code & Tools

imgui-react-runtime: React + Dear ImGui + Static Hermes - When the author teased a demo of this on X a few weeks ago, I wasn't sure if it would get released, but here it is. A new way to put together native apps using React and the popular lightweight GUI library Dear ImGui.

Tzvetan Mikov

ESLint Plugin for Baseline JavaScript - The winner of last month's Baseline Tooling Hackathon is an ESLint plugin that flags code that's using features newer than your configured Baseline target (features broadly supported by modern browsers).

Ryuya Hasegawa

Customizable JavaScript Libraries for Forms & Surveys - Create branded, dynamic forms with full control over design, logic, and data storage.

SurveyJS sponsor

pnpm 10.21: Safer Installs and Smarter Runtime Management - Now installs the Node version required by a dependency, declared in its engines.runtime field, meaning CLI apps and postinstall scripts will run with the specified version. The trustPolicy setting also adds protection against supply-chain attacks by failing to install a package if its trust level drops.

Zoltan Kochan

Ink 6.5: Build Interactive CLI Apps using React - A very widely used terminal-based React renderer for building reactive terminal apps using components. v6.5 is notable for adding an incremental rendering option.

Vadim Demedes

πŸ“° Classifieds

Add lightning-fast, on-device 1D/2D code scanning to your web app with STRICH. Easy integration, simple pricing, free trial and demo!

Still writing tests manually? See why modern engineering teams like Dropbox, Notion and Lattice rely on Meticulous to run E2E UI tests.

Launch Your Shopify Storefront in Minutes with Next.js - Open-source starter with Dynamic OG Images, AI Vector Search & Vercel Toolbar.

🎨 Try Pintura image editor for free today, add a polished cropping, rotating, and annotation experience to your web app in minutes.

πŸ“’ Elsewhere in the ecosystem

Some other interesting tidbits in the broader landscape:

πŸŽ‚ P.S. JavaScript Weekly turned fifteen years old this week! Thanks to all of you for reading, and particularly anyone still subscribed from the first issue. We haven't looked at the stats in a while, but we know there are some of you! :-)

14 Nov 2025 12:00am GMT

07 Nov 2025

feedJavaScript Weekly

How JavaScript source maps actually work

#​760 - November 7, 2025

Read on the Web

JavaScript Weekly

The Inner Workings of JavaScript Source Maps - Ever wondered how devtools can magically turn mangled, minified JavaScript back into readable source while debugging? Zero magic; that's a source map doing its job. But how do source maps actually work under the hood?

Manoj Vivek

Ship Secure MCP Auth Without Relying on API Keys - API keys are hard to scope and break user flows. WorkOS Connect delivers a fully compliant OAuth 2.1 flow. It handles PKCE, scopes, user consent, and secure token issuance out of the box.

WorkOS sponsor

Anders Hejlsberg's Take on the Rise of TypeScript - The co-creator of TypeScript says he's 'floored' by the language's success (now the number one language on GitHub in 2025), shares a little info on the on-going compiler rewrite in Go, and the increasing role of AI.

The GitHub Blog

Embedding TypeScript with Hako - A technical look at the Hako JavaScript engine. It runs in WebAssembly so can be more easily embedded in more environments, including mobile apps.

Andrew Sampson

IN BRIEF:

RELEASES:

πŸ“– Articles and Videos

β–Ά The Talk Videos from CascadiaJS 2025 - CascadiaJS took place a month ago and the talk videos have been gradually rolling out onto YouTube. You can learn more about TanStack with Jack Herrington, the origin story of JavaScript with Annie Sexton, the Web Monetization API with Ioana Chiorean, and more.

CascadiaJS

High-Performance Syntax Highlighting with the CSS Custom Highlight API - Now supported in all major browsers, the CSS Custom Highlight API provides a mechanism for styling arbitrary text ranges in a document by using JavaScript to create the ranges, and CSS to style them.

Pavitra Golchha

How to Create a Virtual Green Screen Using the Vonage Video API - Transform video calls with virtual green screens using the Vonage Video API and HTML5 canvas.

Vonage sponsor

How to Throttle Specific Requests in Chrome DevTools - Chrome DevTools has supported network throttling for a long time but you can now throttle requests to specific URLs or domains too, which could be ideal if you want to see how your site handles the failure of third party scripts.

Matt Zeunert

?! Importing Node Modules from BitTorrent - A fascinating demo of the power of Node.js's customization hooks for overriding import behavior.

Evan Hahn

Advanced Beginner's Guide to ClojureScript - An introduction to a compiler for the functional Clojure Lisp dialect that produces JavaScript.

Roman Liutikov

πŸ“„ Handling Time and Mock Clocks in Tests Andrew Scott (Angular)

πŸ“„ Zod + TypeScript: Schema Validation Made Easy Hassan Djirdeh

πŸ“„ Next.js 16: What's New and What It Means for Frontend Devs Abiola Farounbi (LogRocket)

πŸ›  Code & Tools

Perspective 4.0: High Performance Analytics and Data Visualization Component - Originally built by JP Morgan, this data visualization component, built in C++ and compiled to WebAssembly, is well-suited for large and real-time streaming datasets. The demo on the homepage lets you try visualization types at up to 1000 changes per second. v4.0 sees the project move to the OpenJS Foundation.

OpenJS Foundation

πŸ’‘ Perspective comes with a rich set of examples with full code demonstrating how to use it, like this streaming example.

Agentic Postgres: Let Your Agents Cook - Build AI apps faster: Postgres with built-in memory, search, and free forkable DBs. Try it free on Tiger.

Tiger Data sponsor

Vue Data UI 3.6: Vue Components Library for Data Storytelling - There's a lot packed into this suite of components, including basic chart types through to donuts, sparklines, world views, stacks, heatmaps, word clouds, and more. Definitely worth a look if you're using Vue. Live examples.

Alec Lloyd Probert

πŸ–ΌοΈ image-dimensions: Get the Dimensions of Images - A zero-dependency way to get the pixel width and height of JPEG, PNG/APNG, GIF, WebP, AVIF and HEIF images in any modern JavaScript environment.

Sindre Sorhus

React Syntax Highlighter: A Code Syntax Highlighting Component - If you need to show off source code in your React app somewhere, this is a component that does the job. GitHub repo.

Conor Hastings

CSSOM: A CSS Parser Written in Pure JavaScript - Also a partial implementation of CSS Object Model.

Nikita Vasilyev

πŸ“° Classifieds

Still writing tests manually? See why modern engineering teams like Dropbox, Notion and Wiz rely on Meticulous to run E2E UI tests.

πŸ”Ž Search your GitHub Actions logs instantly. No more endless scrolling through CI failures. Try Depot's new log search and find errors in seconds.

πŸ“’ Elsewhere in the ecosystem

A roundup of some other interesting stories in the broader landscape:

07 Nov 2025 12:00am GMT

11 Aug 2025

feedOfficial jQuery Blog

jQuery 4.0.0 Release Candidate 1

It's here! Almost. jQuery 4.0.0-rc.1 is now available. It's our way of saying, "we think this is ready; now poke it with many sticks". If nothing is found that requires a second release candidate, jQuery 4.0.0 final will follow. Please try out this release and let us know if you encounter any issues. A 4.0 … Continue reading β†’

11 Aug 2025 5:35pm GMT

17 Jul 2024

feedOfficial jQuery Blog

Second Beta of jQuery 4.0.0

Last February, we released the first beta of jQuery 4.0.0. We're now ready to release a second, and we expect a release candidate to come soonβ„’. This release comes with a major rewrite to jQuery's testing infrastructure, which removed all deprecated or under-supported dependencies. But the main change that warranted a second beta was a … Continue reading β†’

17 Jul 2024 2:03pm GMT

17 Apr 2024

feedOfficial jQuery Blog

Upgrading jQuery: Working Towards a Healthy Web

jQuery's influence on the web will always be evident. When it was first introduced in 2006, jQuery became a fundamental tool for web developers almost immediately. It simplified JavaScript programming, making it easier to manipulate HTML documents, handle events, perform animations, and much more. Since then, it has played and continues to play a major … Continue reading β†’

17 Apr 2024 5:00pm GMT

06 Feb 2024

feedOfficial jQuery Blog

jQuery 4.0.0 BETA!

jQuery 4.0.0 has been in the works for a long time, but it is now ready for a beta release! There's a lot to cover, and the team is excited to see it released. We've got bug fixes, performance improvements, and some breaking changes. We removed support for IE<11 after all! Still, we expect disruption … Continue reading β†’

06 Feb 2024 4:43pm GMT

28 Aug 2023

feedOfficial jQuery Blog

jQuery 3.7.1 Released: Reliable Table Row Dimensions

jQuery 3.7.1 has been released! This release fixes a regression from jQuery 3.6.0 that resulted in rounded dimensions for <tr /> elements in Chrome and Safari. Also, a (mostly) internal Sizzle method, jQuery.find.tokenize that was on the jQuery object was accidentally removed when we removed Sizzle in jQuery 3.7.0. That method has been restored. As … Continue reading β†’

28 Aug 2023 1:40pm GMT

11 May 2023

feedOfficial jQuery Blog

jQuery 3.7.0 Released: Staying in Order

jQuery 3.7.0 is now available! This release has it all: bug fixes, a new method, and a performance improvement! We even dropped our longtime selector engine: Sizzle. Or, I should say, we moved it into jQuery. jQuery no longer depends on Sizzle as a separate project, but has instead dropped its code directly into jQuery … Continue reading β†’

11 May 2023 6:38pm GMT

08 Mar 2023

feedOfficial jQuery Blog

jQuery 3.6.4 Released: Selector Forgiveness

If you've been following along with recent jQuery releases, we have been working on how to address the recent addition of some new selectors in browsers, especially :has. jQuery 3.6.3 settled on the strategy of using native CSS.supports to determined whether a selector should be passed directly to querySelectorAll or instead go through jQuery's selector … Continue reading β†’

08 Mar 2023 3:52pm GMT

20 Dec 2022

feedOfficial jQuery Blog

jQuery 3.6.3 Released: A Quick Selector Fix

Last week, we released jQuery 3.6.2. There were several changes in that release, but the most important one addressed an issue with some new selectors introduced in most browsers, like :has(). We wanted to release jQuery 3.6.3 quickly because an issue was reported that revealed a problem with our original fix. More details on that … Continue reading β†’

20 Dec 2022 9:35pm GMT

13 Dec 2022

feedOfficial jQuery Blog

jQuery 3.6.2 Released!

You probably weren't expecting another release so soon, but jQuery 3.6.2 has arrived! The main impetus for this release was the introduction of some new selectors in Chrome. More on that below. As usual, the release is available on our cdn and the npm package manager. Other third party CDNs will probably have it soon … Continue reading β†’

13 Dec 2022 3:13pm GMT

26 Aug 2022

feedOfficial jQuery Blog

jQuery 3.6.1 Maintenance Release

jQuery 3.6.1 has been released! It's been a while since our previous release. We were looking at fixing some elusive edge cases related to focus and blur, but we never quite got the fix right. If there's any area of jQuery that's hard to change, it's likely related to focus somehow. We're leaving those as-is … Continue reading β†’

26 Aug 2022 5:55pm GMT